<?php

// @formatter:off
/**
 * @file WCPreviews.php
 * @author Alejandro Dario Simi
 * @date $Date: 2014-05-04 01:33:52 +0000 (Sun, 04 May 2014) $
 *
 * $Id: WCPreviews.php 111 2014-05-04 01:33:52Z daemonraco@gmail.com $
 * $URL: http://wcomix.googlecode.com/svn/trunk/includes/interfaces/WCPreviews.php $
 */
// @formatter:on

/**
 * @interface WCPreviews This interface specifies basic methods for item
 * representations where those items my have preview images.
 */
interface WCPreviews {
	/**
	 * This method creates a the previews list based on data from the object,
	 * and caches this data for further uses.
	 *
	 * @return boolean Returns true if a previews list was generated.
	 */
	public function generatePreviews();
	/**
	 * This method allows to know if the object has a main preview image.
	 *
	 * @return boolean Returns true when the object has a main preview image.
	 */
	public function hasPreview();
	/**
	 * This method allows to know if the object has a list of preview images.
	 *
	 * @return boolean Returns true when the object has a list of preview
	 * images.
	 */
	public function hasPreviews();
	/**
	 * This method allows to know if the object has a previews and their are
	 * still valid.
	 *
	 * @return boolean Returns true when the object has valid preview images.
	 */
	public function hasValidPreviews();
	/**
	 * This method allows to get the object's main preview image.
	 *
	 * @return string Returns a URI of the object's main preview image.
	 */
	public function preview();
	/**
	 * This method allows to get the object's list of preview images.
	 *
	 * @return string[] Returns a URI list of the object's preview images.
	 */
	public function previews();
	public function setValidPreviews($valid = true);
}
